x

Master-Slave-Switch

主从切换中,当 master 宕机时,如果「手动」把 slave 提升为 master,时间上小故障就可能变为大故障了。所以这个过程引入哨兵机制来自动化。并且为了防止误判,需要多个哨兵。具体流程如下:
1. 多个哨兵每间隔一段时间,询问 master 是否正常

  1. master 正常回复,表示状态正常,回复超时表示异常

  2. 一旦有一个哨兵判定 master 异常(不管是否是网络问题),就询问其它哨兵,如果多个哨兵(设置一个阈值)都认为 master 异常了,这才判定 master 确实发生了故障

  3. 多个哨兵经过协商后,判定 master 故障,则发起主从切换

  4. 发起主从切换的哨兵通过共识算法比如Raft 来确认

Left-click: follow link, Right-click: select node, Scroll: zoom
x